#ifndef _SPECIAL_EFFECT_MANAGER_H_
#define _SPECIAL_EFFECT_MANAGER_H_

#include <list>
#include <vector>

class Effect;
class RenderManager;
class SpecialEffectManager
{
public:
	
	static SpecialEffectManager* getSingletonPtr();
	static void cleanSingleton();

	bool checkForEffects();
	void draw(RenderManager*);
	void update();

	void addEffect(Effect* effect) { _effects.push_back(effect); }

private:
	SpecialEffectManager(void);
	~SpecialEffectManager(void);



	static SpecialEffectManager* _instance;

	std::list<Effect*> _effects;
	std::vector<Effect*> _remove;
};

#endif // _SPECIAL_EFFECT_MANAGER_H_